package model;

import java.util.List;

import util.SimboloEnum;
import util.Utilitario;

public class TratamentoErros {

	//primeiros e seguidores de <codigo_interno>
	Simbolo[] prim_codigo_interno = {SimboloEnum.VAZIO.getSimbolo(), SimboloEnum.BOOLEAN.getSimbolo(), 
					SimboloEnum.CHAR.getSimbolo(),SimboloEnum.FUNCTION.getSimbolo(),
					SimboloEnum.INT.getSimbolo(), SimboloEnum.STRING.getSimbolo()};
	Simbolo[] seguid_codigo_interno = {SimboloEnum.CHAVE_FECHA.getSimbolo()}; 
	
	//primeiros e seguidores de <fonte>
	Simbolo[] prim_fonte = {SimboloEnum.CLASS.getSimbolo()};
	Simbolo[] seguid_fonte = {SimboloEnum.FIM_DE_ARQUIVO.getSimbolo()};
	
	//primeiros e seguidores de <identificador>
	Simbolo[] prim_identificador = {SimboloEnum.SUB_LINHA.getSimbolo(), SimboloEnum.IDENTIFICADOR.getSimbolo()};
	Simbolo[] seguid_identificador = {SimboloEnum.OPERADOR_NOT.getSimbolo(),SimboloEnum.OPERADOR_DIFERENCA.getSimbolo(),
			SimboloEnum.OPERADOR_AND.getSimbolo(),SimboloEnum.PARENTISADOR_ABRE.getSimbolo(),SimboloEnum.PARENTISADOR_FECHA.getSimbolo(),
			SimboloEnum.OPERADOR_MULTIPLICACAO.getSimbolo(),SimboloEnum.OPERADOR_ADICAO.getSimbolo(),SimboloEnum.OPERADOR_SUBTRACAO.getSimbolo(),
			SimboloEnum.VIRGULA.getSimbolo(),SimboloEnum.OPERADOR_DIVISAO.getSimbolo(),SimboloEnum.PONTO_E_VIRGULA.getSimbolo(),
			SimboloEnum.OPERADOR_MENOR.getSimbolo(),SimboloEnum.OPERADOR_MENORIGUAL.getSimbolo(),SimboloEnum.OPERADOR_IGUAL.getSimbolo(),
			SimboloEnum.OPERADOR_ATRIBUICAO.getSimbolo(),SimboloEnum.OPERADOR_MAIOR.getSimbolo(),SimboloEnum.OPERADOR_MAIORIGUAL.getSimbolo(),
			SimboloEnum.PARENTISADOR_ABRE.getSimbolo(),SimboloEnum.OPERADOR_OR.getSimbolo()};
	
	//primeiros e seguidores de <funcao>
	Simbolo[] prim_funcao = {SimboloEnum.FUNCTION.getSimbolo()};
	Simbolo[] seguid_funcao = {SimboloEnum.BOOLEAN.getSimbolo(),SimboloEnum.CHAR.getSimbolo(),
			SimboloEnum.FUNCTION.getSimbolo(),SimboloEnum.INT.getSimbolo(),SimboloEnum.STRING.getSimbolo(),
			SimboloEnum.PARENTISADOR_FECHA.getSimbolo()};
	
	public void teste(List<String> s1, List<String> s2, String msg){
		if (! s1.contains("simboloLido")){
			//mensagem de erro
		}else{
			while ( s1.contains("simboloLido") ||s2.contains("simboloLido")){
				//continua analisando sintaticamente
			}
		}
	}
	
	
}

